SCADA ViSA версия 7.6.133 /2018-05-11/ Copyright (C) 2001-2018 НТФ "Инкотех" Что нового в SCADA ViSA? [ История: ] [ ! Существенное улучшение ] [ + Добавленная функциональность ] [ * Исправлена/изменена функция ] [ - Исправлена ошибка (надеемся) ] ---- История изменений ------------------------------------------------------ 7.6.133 [+] : - Добавлено свойство окна - модальное. - Улучшена библиотека графических объектов. Библиотека построена по принципу проводника MS Windows. - Добавлено поле Quality для переменных. Значение поля соответствует признаку Quality в VdbOPC-сервере. - Добавлена возможность поворота графических объектов-метафайлов. - Добавлена возможность масштабирования окон диалогов анимации объекта. - Добавлен экспорт/импорт базы данных параметров в таблицы Excel. - Добавлены функции работы со временем: VariantTimeToUnixTime, VariantTimeToLocalUnixTime, UnixTimeToVariantTime, LocalUnixTimeToVariantTime. - Добавлена функция работы с архивом: GetArchiveValue. - Добавлена функция работы с окнами: IsWindowVisible. - Поля MinEU, MaxEU и EU теперь с доступом RW, их можно изменять в сценариях и они связываются с аналогичными полями переменной VDBOPC-сервера. [*] : - При выделении объекта на основном окне он автоматически отображается в окне Zoom-а. - Разрешен доступ к VdbOPC серверам на других компьютерах. - Для функций ShowWindow, HideWindow, Template добавлена фозможность указания номера экземпляра окна для запуска нескольких экземпляров однотипных окон. [-] : - Для объектов Bitmap с выбранным цветом прозрачности некорректно отрисовывался прозрачный цвет (фон) после изменения глубины цвета (bpp) экрана. - Исправлены ошибки в редакторе сценариев. - При изменении шрифта текста нестандартный для диалога выбора шрифта цвет сбрасывался на стандартный цвет. - Имя окна или шаблона, заданная строковой переменной, а не строковой константой вызывало Exception при открытии окна. - При копировании группы и вставке на другое окно, вновь вставленная группа могла "приклеиться" к произвольной группе. - При операции дублирования/копирования групп нарушалась структура групп. - Исправлены некоторые ошибки при конвертации проекта в связи с изменением номера версии VMake. - При сохранении фрагмента выполняется оптимизация - самые нижние объекты без сценариев "вписывются" в фон. Для таких объектов устанавливается признак BKGR. Исправлена ошибка в алгоритме оптимизации. - Undo/Redo операций над подгруппами, входящими в группу вызывал Exception. - Undo после вставки текста из глобального буфера вызывал Exception. - Undo после удаления линии/точки с линии и Redo после добавления точки на линию затирал память. - Изменение текста на кнопке с выравниванием влево/вправо приводило к изменению положения кнопки. - Выравнивание размера объекта по размеру другого объекта, расположенного на другом окне приводило к exception. [+] : Добавленная функциональность: - Добавлено свойство окна - модальное. - Добавлено поле Quality для переменных. Значение поля соответствует признаку Quality в VdbOPC-сервере. - Для ввода вещественного числа теперь дорустимы символы '.' и ',' независимо от того, какой разделитель целой и дробной части установлен в операционной системе. - Добавлены функции работы со временем: VariantTimeToUnixTime, VariantTimeToLocalUnixTime, UnixTimeToVariantTime, LocalUnixTimeToVariantTime - Добавлена функция работы с архивом: GetArchiveValue - Добавлена функция работы с окнами: IsWindowVisible [*] : - Приложение адаптировано под UNICODE. - Сценарий "При нажатии левой(правой) кнопки" на объект теперь выполняется раньше, чем сценарий вертикального и горизонтального скроллинга. Это дает возможность использования в сценариях по нажатию и отпусканию клавиши для переменной поля .Hold = 1 и .Hold = 0 соответственно, чтобы исключить "промежуточную" запись значения в переменную, связанную со скроллером, пока скроллер не будет "отпущен". - Отображаются все значения независимо от признака Quality. Ранее отображались только значения с Quality Good, остальные значения игнорировались. - Убрано ограничение 80 символов на длину подсказки при наведении мыши на объект. - После потери связи с VdbOPC сервером по истечении 7-ми секундного тайм-аута среда исполнения автоматически выполняет попытку переподключения к серверу. Пользователь может выбрать в окне сообщения другие действия (прервать, игногрировать). - Поля MinEU, MaxEU и EU теперь с доступом RW, их можно изменять в сценариях и они связываются с аналогичными полями переменной VDBOPC-сервера. [-] : - При изменении размеров графического объекта-метафайл оставался мусор на экране. - Не правильно расчитывался размер области для отображения подсказок при наведении мыши на объект. - При изменении размера окна не всегда убирались полосы прокрутки содержимого окна. - Открытие модальных окон в мультимониторной конфигурации выполнялось всегда на первом мониторе. - В результате выпуска Microsoft обновлений для KB2982791, а затем заменяющего его KB2993651 Windows 7/8/8.1 была внесена ошибка в GDI Windows, которую признала Microsoft и обещала исправить ошибки в будущих обновлениях. Код VVisa поправлен, чтобы исключить влияние указанных обновлений на функционирование программы. - Исправлена ошибка рассчета размера текста. - В подсчете размера области осносного окна участвовала Splash заставка и из-за этого неверно отображались Scroll bar-ы в основном окне. - Окна со свойством "Всегда сверху" отображались по неправильным координатам на не основном мониторе. [*] : - Архивация технологических параметров выполняется с максимальной частотой 1 сек. - Увеличина длина имени тега в архиве технологических параметров до 32 символов. - Изменен тип данных архива технологических параметров - double. - Подписка на сообщения A&E сервера выполняется для указанных локальных/удаленных A&E серверов. Ранее подписка была возможна только на сообщения локального A&E сервера. - В архив сообщений помещаются только сообщения с приоритетами, попадающими в заданные диапазоны. Остальные сообщения отбрасываются. Ранее остальные сообщения помежались в архив в группу Прочие. - Добавлено сохранение состояния базы данных реального времени в файл VDBOPC2.DAT. Ранее база данных реального времени сохранялась только в файл VDBOPC.DAT и его разрушение могло привести к потере данных. В процессе работы данные сохраняются поочередно в файлы VDBOPC.DAT и VDBOPC2.DAT. При повторном запуске данные восстаналиваются из файла, который имеет последнее время изменения файла. При невозможности восстановить данные из файла, выполняется попытка восстановить данные из второго файла. - Поля MinEU, MaxEU и EU теперь с доступом RW. - Добавлена задержка на установку Quality OPC_QUALITY_LAST_KNOWN для метода OnDisconnecting если произошло временное отключение от стороннего OPC DA сервера. По умолчанию отводиться 10 секунд восстановление нового подключения. Если за указанное время подключение не восстановлено, то для параметров устаналвивается Quality OPC_QUALITY_LAST_KNOWN и метка времени, зафиксированная в момент разрыва связи. Задержку можно переопределить параметром OnDisconnectSetQualityDefferedTime типа DWORD в разделе HKEY_CURRENT_USER\Software\Incotech\VdbOPCServer или HKEY_LOCAL_MACHINE\Software\Incotech\VdbOPCServer. Значение параметра устанавливается в мсек. [-] : - Ошибка при задании начальных значений для инициализации строковых переменных. - Ошибка обновления переменных с внешних OPC серверов. [*] : - Оптимизация работы с vdbopccfg.mdb файлом. Ускорена загрузка VDBOPC-сервера. [-] : - Ошибка исчезновения в OPC DA обмене и просмотре на графиках дубликатных имен, одинаковых в написании, но с использованием символов разного регистра. Ошибка возникала из-за особенностей SQL запросов, у которых строки (в нашем случае имена переменных) сравниваются регистронезависимо. Для полей со свойством UNIQUE в таком случае записи не помещаются в БД. [+] : Добавлен COM-сервер для работы с технологическими сообщениями. В качестве базы данных сообщений используется SQLITE3. [+] : - настроечный параметр UseDefaultPrinter в ветке реестра HKEY_CURRENT_USER\Software\Incotech\ViSA\VGraph используется для выбора принтера, используемого по умолчанию в операционной системе (UseDefaultPrinter = 1) при печати графиков. В противном случае перед печатью предлагается выбрать принтер для печати и установить его настройки. [*] : - Увеличено окно ComboBox выбора интервала, чтобы все предлагаемые для выбора интервалы были доступны без прокрутки. - Графики рисуются для всех значений независимо от OPC Quality. Если значение, соответствующее положению скутера имеет OPC Quality, отличное от Good, то к значению параметра добавляется символ '*'. - График не рисуется за время, когда архивация не выполнялась. - При изменении интервала просмотра графика время в позиции скутера остается прежним, а время начала графика пересчитывается относительно положения скутера. [-] : - Отображение значения, соответствющего текущему положению скутера, выполнялось со смещением по времени относительно положения скутера. - При вызове группы из сценария использовалось неточное сравнение имен групп перьев из списка и выбираемой группы в сценарии. [+] : - настроечный параметр UseDefaultPrinter в ветке реестра HKEY_CURRENT_USER\Software\Incotech\ViSA\vr2ax используется для выбора принтера, используемого по умолчанию в операционной системе (UseDefaultPrinter = 1) при печати рапортов. В противном случае перед печатью предлагается выбрать принтер для печати и установить его натройки. - добавлена обработка второго времени для формирования рапорта. [-] : - При формировании рапотра за указанное время с отличающимся значением DST (Daylight saving time) от текущего времени, рапорт формировался со смещением на 1 час. [+] : - Добавлено принудительное форматирование выводимого значения (конструкция вида "fmt NUM" или "fmt STR"), где NUM - количество знаков после запятой или STR - строка форматирования для оператора fprintf, например: ${F157 ave 8 9 fmt 2} или ${L253 at 18:30 fmt "%5.1f"} - Добавлена тернарная операция сравнения времени и выбора соотвествующего запроса по результатам сравнения вида: ${T1 <сравнение> T2 ? <запрос1> , <запрос2>} например: ${now >= 20 ? F157 at 20, F157 at now} - добавлена обработка второго времени для формирования рапорта. - добавлен запрос значения второго времени - конструкция вида $DATE2{%Y/%m/%d %H:%M:%S}. - добавлены запросы значений из архива вида: at2, min2, max2, itg2, ave2 для получения значений на момент, заданный параметром "второе время", передавемым при формировании рапорта. [*] : - Относительное время в запросах м.б. задано в любом диапазоне часов - любое положительное и отрицательное число. - При формировании рапотра за указанное время, это время сравнивается с параметром $SHIFT{}. В случае, если текущее локальное время превышает значение, заданное параметром $SHIFT{}, то относительное время в запросах считается от начала текущих суток. В противном случае относительное время считается от начала предыдущих суток. - Поправлен алгоритм выборки текущего значения. [-] : - Исправлен рассчет интегрального значения. - Значение выражения недостоверно (результат в рапорте - ?), если один из членов выражения (результат запроса) недостоверен. [+] : - настроечный параметр UseDefaultPrinter в ветке реестра HKEY_CURRENT_USER\Software\Incotech\ViSA\VMess используется для выбора принтера, используемого по умолчанию в операционной системе (UseDefaultPrinter = 1) при печати сообщений. В противном случае перед печатью предлагается выбрать принтер для печати и установить его натройки. - в панели рапорта добавлена обработка второго времени для формирования рапорта за интервал времени. - в панели рапорта добавлено свойство EnablePrinting для настройки прав печати рапортов на принтере. [*] : Добавлена возможность вызова окна из списка по одиночному клику мышкой на названии окна. [-] : - исправление ошибки вычитки первого значения из массива архивных значений. [*] : - оптимизация работы - убрано повторное обращение к набору архивных данных. [-] Проведена синхронизация справки PDF и CHM, исправлены неточности. 7.6.132 [!] Для создания инсталляции SCADA ViSA использована UNICODE версия инсталлятора NSIS. Теперь инсталляция на разных языках выполняется корректно в операционных системах с разными языками. [!] : Выделен COM-модуль для работы с технологическими сообщениями [*] : - Убрана печать в log-файл информация о том, что найден дубликат сообщения DROP (№1289). - Не принимаются технологические сообщения с датой отправки более чем 1 месяц (настраиваемый параметр) (№1382). - Исправление ошибок. [*] : Менеджер проектов прекращает работу, если библиотека VPropList не зарегистрирована в системе как COM-сервер. [-] : Исправление ошибок: - При использовании в БД во вновь созданной аналоговой переменной ссылки на другую переменную была недоступна для ссылки переменная, на основании которой добавлялась новая аналоговая переменная (№1624). - При включенном режиме отрисовки содержимого окна при его перетаскивании неверно отрисовывалось окно структур в момент изменения ширины его колонок (№1625). - При переходе на UNICODE была внесена ошибка: не корректно обнулялся массив, используемый для анализа пересечения диапазонов приоритетов разных категорий сообщений (№1629). - В окне редактирования дискретной переменной в БД поле приоритетов сообщений, выдаваемых по включенному и отключенному состоянию переменной, не позволяло ввести более трех символов, т.к. в нем отключен горизонтальный скроллинг содержимого. Таким образом максимальное значение приоритета могло быть задано только до 999 (№1630). - Исправлена неверная выдача сообщений об ошибке компиляции полей структур (№1632). - Исправлен сброс ширины вновь созданного столбца в структуре при изменении его позиции (влево/вправо) (№1655) [+] : Добавленная функциональность: - Для ввода строковой переменной добавлена возможность использования маски вводимого значения. - В редакторе ввода сценариев добавлено контекстное меню с командами Undo/Cut/Copy/Past/Delete/Select All. Меню открывается по правой кнопке мышки. [+] : Добавленная функциональность: - Добавлены параметры запуска командной строки --delay=DelayRunning для задержки запуска экземпляра среды исполнения на DelayRunning msec --name=NAME для идентификации среды исполнения в технологических сообщениях. По умолчанию идентификатор NAME соответствует переменной окружения %COMPUTERNAME% [*] : Увеличена ширина правого поля просмотровщика сообщений, чтобы скутер полностью помещался в окне, увеличены размеры скроллеров, используемых для вертикального масштабирования. Просмотровщик сообщений: [-] Часто не обновляются сообщения в окне текущих сообщений, там же застряёт строка не сквитированного сообщения (№1365). [-] В диалоге с детальной информацией о сообщении не правильно отображается категория сообщения (№1612). [-] После изменения значения атрибута Anchor, окно текущих сообщений не перерисовывается (№1607). [+] Добавлена возможность показывать в просмотровщик текущих сообщений сообщения без учета признака квитации (№1605). [*] Значение по умолчанию для параметра "Отмечать сообщения с разницей" равно 15 сек (№1307). [*] В информации о сообщении, выдается тип сообщения и его приоритет, расхождение времени отправки и времени получения, время прошедшее с момента доставки до временем квитации (№1359). 7.6.131 [-] : Исправление ошибок: - Полная блокировка работы (№1351). - Критическая ошибка когда размер компонента <= 10x10 (№1561). [+] : Поддержка свойства "Репликация" для переменной базы данных (№1571). [*] : Изменение алгоритма проверки лицензии (№1557). [-] : Исправлена ошибка №1560 (Вместо русских символов отображаются "??"). [-] : Исправлена ошибка №1559 (При открытии файла теряются все строки с русскими символами). [!] : Поддержка кодировки UTF-8 [!] файлы данных программ теперь сохраняются в UTF-8. Обеспечивается совместимость со старыми версиями [!] : переведен на UNICODE [+] : добавлено масштабирование некоторых диалогов, в которых выполняется ввод сценариев [+] : добавлено свойство "Репликация" в базе данных переменных для разрешения/запрета репликации глобальных переменных в случае использования резервирования серверов VdbOPC [-] : исправлена проблема со слоями в режиме масштабирования шрифтов, исправлена ошибка переноса графических объектов между слоями [-] : исправлены некоторые ошибки [!] : переведен на UNICODE [!] : переведен на UNICODE [!] : переведен на UNICODE 7.5.129 [-] : Исправление ошибок № 1348 и № 1349 [+] : Добавлено свойство EnablePrinting для панели управления компонента просмотра графиков. [-] : Исправление ошибки: Не устанавливается шрифт для элементов ввода времени, даты, интервала и группы на панели управления графиками. [+] : Добавлены tooltip-ы на combobox выбора группы и на checkbox Тренд. [-] : Исправление опечатки в переводе на Литовский язык. [+] : - Добавлены тултипы на кнопках панели управления графиками. - Добавлены тултипы на перьях на графике. [-] : Исправление ошибки № 1342. [-] : Исправление замечаний № 1271 и № 1353. [*] : Оптимизация. [*] : Оптимизация. [-] : Исправление ошибки. [-] : Исправление ошибки № 1362. [-] : Исправление ошибки. [+] : Добавлено свойство EnablePrinting для панели управления компонента просмотра сообщений. [-] : - Исправление опечатки в переводе на Литовский язык. - Исправление замечания: Литовский и Английский вариант диалога свойств сообщения не соответствует Русскому варианту. [-] : Исправление ошибки № 1356. [-] : Исправление ошибки. [*] : Просмотровщик технологических сообщений: В дополнение к фильтрации по колонке Message добавлена фильтрация по колонке Source. [+] : Добавлена проверка синтаксиса для скриптовой функции getenv. [-] : Исправление ошибки. [+] : Добавлена проверка синтаксиса для скриптовой функции Message2. [!] : Добавлен параметр командной строки --display=number для запуска на мониторе с указанным номером. [+] : Добавлена скриптовая функция getenv. [-] : Исправление ошибки № 1360. [-] : Исправление ошибки. [+] : Добавлена скриптовая функция Message2 (в отличие от функции Message, позволяет передавать информацию об источнике сообщения). [*] : Принудительная вычитка файла паролей перед каждой проверкой уровня доступа. [-] : Исправлена ошибка в SQL-запросе. [-] : Исправление ошибки: не включается "безлимитный" режим. [!] : Поддержаны ключи HASPHL. [-] : Исправление ошибки. [+] : Передача источника технологического сообщения в функции OnAlarmMessage. [-] : Исправлена ошибка выдачи диагностической информации. [-] : Исправление ошибки № 1233. [-] : Исправление замечания: Не выполняется сохранение поля Source в соответствующей колонке базы данных для OPC AE источников сообщений. [+] : Локализация выдачи сообщений о выходе переменной за аварийные границы (перевод на английский и литовский языки). [-] : Исправление ошибки. [-] В Среде Разработки не сохранялись пустые пути (пути по умолчанию) к архивам истории процесса и технологическим сообщениям 7.5.128 [+] Исправление ошибок, которые проявлялись при работе с REMOTE HDA-сервером. [+] Исправление ошибок: - При сохранении списка групп появляются дубликаты. - При сохранении списка групп после удаления одной или нескольких групп, появляются дубликаты. [+] Локализация: Поддержка литовского языка. [+] Локализация: Поддержка литовского языка в панелях управления и компоненте просмотра технологических сообщений. [+] Добавлены свойства MinorDivisionOfAxisX и MinorDivisionOfAxisY которые задают количество делений на оси X и Y соответственно, которые будут отображаться на экране и при печати, если их значение больше 1. Значение этих полей можно установить из сценария. Начальное значение - 0, для совместимости с предыдущими версиями. 7.5.127 [-] Исправлена ошибка отрисовки графиков. [-] Исправление ошибки № 1341. [-] Исправление ошибки № 1251. [-] Исправлена критическая ошибка, которая возникает при изменении размеров панели управления графиками в Среде Разработки. [+] Добавлена поддержка атрибута OPCHDA_ARCHIVING. 7.5.126 [-] : Исправлена опечатка: имя свойства ActiveX FactorValueDateTime (было FactirValueDateTime). [+] : Вывод в диагностику текущего количества тегов и количества тегов в ключе. [+] : Вызов окна по клавише Enter. [*] : Параметр задержки выдачи сообщений по умолчанию (AlarmsSquelchTime) при отсутствии в config.ini файле устанавливается в 0 (было 10 сек). [-] Исправлена ошибка: При просмотре 8-часового тренда экран редко обновляется, и значения в панели управления не соответствуют значениям на фрагментах. [+] Добавлены функции time и String [+] В рапортах добавлено вычисление выражений со скобками [-] В Среде Разработки исправлена ошибка выбора элементов в дереве тегов [*] В Среде Разработки добавлена возможность фильтрации тегов по наличию/отсутствию ссылок на них в сценариях